
package com.be.beadmin.quality.service;

import com.be.beadmin.quality.dto.input.InspectionFileInfoByInspectionTypeAndIdPage;
import com.be.beadmin.quality.dto.output.InspectionFileInfoEx;
import com.be.beadmin.quality.dto.input.InspectionFileInfoDto;
import org.springframework.data.domain.Page;
import com.be.beadmin.common.entity.PageEntity;
import org.springframework.web.multipart.MultipartFile;

import java.util.Date;
import java.util.List;

/**
* @description 服务接口
* @author ljh
* @date 2023-07-13
**/
public interface InspectionFileInfoService {

    /**
    * 分页的查询接口
    * @param pageEntity
    * @return
    */
    Page<InspectionFileInfoEx> getInspectionFileInfoByPage(PageEntity pageEntity);

    /**
    * @param inspectionFileInfoDto
    */
    void addInspectionFileInfo(InspectionFileInfoDto inspectionFileInfoDto);

    /**
    * @param inspectionFileInfoDto
    */
    void updateInspectionFileInfo(InspectionFileInfoDto inspectionFileInfoDto);

    /**
    * @param id
    */
    void delInspectionFileInfo(String id);

    /**
    * 删除多个角色
    * @param ids
    */
    void delInspectionFileInfos (List<String> ids);

    void uploadInspectionFileInfo(String inspectionType, String id, String uploaderId, String uploaderName, Date uploadTime, MultipartFile[] multipartFile, String bucketName) throws Exception;

    Page<InspectionFileInfoEx> getInspectionFileInfoByPageAndInspectionTypeAndId(InspectionFileInfoByInspectionTypeAndIdPage inspectionFileInfoByInspectionTypeAndIdPage);

    String getInspectPreviewUrl(InspectionFileInfoDto inspectionFileInfoDto) throws Exception;
}